iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0

昨天我們使用 function 的 compose,
是從右至左執行,如果我們想由左至右執行,
那我們可以用 pipe, pipe 是管線的概念,
也就是依序執行 function 從第一個參數開始。

引用:https://betterprogramming.pub/compose-and-pipe-in-javascript-medium-d1e1b2b21f83?gi=d6f92bc693a9

我們先實作一個 pipe function

const pipe = (...fns) => (x) => fns.reduce((v, f) => f(v), x);

然後把昨天我們實作 compose 的 function 放進來

const toLowcase = (x)=>{
    console.log('lowCase', x.toLowerCase());
    return x.toLowerCase();
}

const withExclamationMark = (x)=>{
    console.log('!!!',x+'!!!' );
    return x+'!!!';
}

const handleString = pipe(toLowcase,withExclamationMark);
handleString('Hello')//  // 可以看到我們可以得到 hello!!! 但是會由左至右執行 function

https://betterprogramming.pub/compose-and-pipe-in-javascript-medium-d1e1b2b21f83


上一篇
day24: compose
下一篇
day26: 開始體驗 ramda.js
系列文
寫出好維護又簡潔的 react 程式碼 feat: Function Programming30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言